/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ifpb.pod.cliente.funcionalidades;

import ifpb.pod.cliente.visao.GUIConversa;
import ifpb.pod.model.Contato;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 *
 * @author Diogenes
 */
public class ArmazemDeConversas {

    private static ArmazemDeConversas instance = null;
    private Map<String, GUIConversa> conversas;

    private ArmazemDeConversas() {
        inicialize();
    }

    public static ArmazemDeConversas getInstance() {
        if (instance == null) {
            instance = new ArmazemDeConversas();
        }
        return instance;
    }


    public Boolean temConversa(Contato contato){
        return conversas.containsKey(contato.toString());
    }
    
    public GUIConversa adicionaConversa(String contatos, GUIConversa conversa){
        return conversas.put(contatos, conversa);
    }
    
    public GUIConversa removeConversa(Contato contato){
        return conversas.remove(contato.toString());
    }

    public GUIConversa getConversa(Contato contato) {  
        return conversas.get(contato.toString());
    }
    public GUIConversa getConversaGambiarra(List<Contato> contatosDaConversa){
        return conversas.get(toKeyConversa(contatosDaConversa));
    }
    
     public GUIConversa adicionaConversaGambiarra(List<Contato> contatosDaConversa, GUIConversa conversa){
        return conversas.put(toKeyConversa(contatosDaConversa), conversa);
    }
    
    public GUIConversa removeConversaGambiarra(List<Contato> contatosDaConversa){
        return conversas.remove(toKeyConversa(contatosDaConversa));
    }

   private String toKeyConversa(List<Contato> contatosDaConversa){
         StringBuffer buffer = new StringBuffer();
         for (Contato contato : contatosDaConversa) {
             buffer.append(contato.toString());
         }
         System.out.println(buffer.toString()+"roda roda o copo na cabeça");
         return buffer.toString();

     }

    private void inicialize() {
        this.conversas = new HashMap<String, GUIConversa>();
    }
}
